import os

'''
注意，要将下载的视频文件和asia2导出的文本文件放在同一个文件夹下
'''
#读取当前目录下的文件
file_path = "."
old_name_list = []
new_name_list = []
current_file_list = os.listdir(file_path)
for item in current_file_list:
    if (len(item.split(".")) > 1):
        #防止文件名里也包含.字符
        if ("txt" == item.split(".")[len(item.split(".")) - 1]):
            #索引文件，用来生成下载文件名和实际文件名的字典
            with open(item, "r",encoding='utf-8') as f:
                while True:
                    line_content = f.readline()
                    #https://开头的就是下载网址
                    if (line_content.startswith("https://")):
                        temp = line_content.split("?")[0]
                        # print(temp.split("/")[len(temp.split("/")) - 1])
                        # 先用?分割一次，再用/分割一次就得到下载时的文件名
                        old_name_list.append(temp.split("/")[len(temp.split("/")) - 1])
                    if (line_content.find("out=") > 0):
                        # 如果包含‘out=’的字符串，就是最后要成为的文件名
                        new_name_list.append(line_content.split("=")[1].replace("\n", ""))
                    if not line_content:
                        break
# 生成字典
dict= {}
for index in range(len(old_name_list)): 
    dict[old_name_list[index]] = new_name_list[index]
# print(dict)
# 取文件后缀名
file_suffix = dict[old_name_list[0]].split(".")[-1]
# 批量重命名文件
for item in current_file_list:
    if (len(item.split(".")) > 1):
#        if (file_suffix == item.split(".")[1]):
# 防止索引文件的文件名排太前，造成了异常，导致后面的文件无法继续批量重命名
        try:
            os.rename(item,dict[item])
        except Exception :
            print(item)
            continue